iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0

昨天,我們介紹了Maven對於專案建置的重要性,也稍微說明了pom.xml內部分元素的意義,今天讓我們來繼續了解pom.xml內相依性(也稱依賴, Dependency)的設定。

在專案中會用到各種函式庫(Library),因此經常會需要根據專案的需求設定相依性。範例如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo-project</artifactId>
    <version>1.0.0</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.5.4</version>
        </dependency>
    </dependencies>
</project>

在pom.xml中相依性是透過<dependencies>元素和它的子元素<dependency>來進行設定,每個相依套件都會被包裹在<dependency>元素內。在每個<dependency>內包含了基本的子元素<groupId><artifactId><version>,當Maven專案建構時,會根據以上資訊將依賴從專案定義的倉庫中自動下載並加入專案中,幫助開發人員管理第三方套件。

以上段程式碼為例,我們在pom.xml內加入了Spring Boot 的 Web Starter套件,它提供了Web應用程式常用的套件,由於這個依賴包含了starter,它會自動引入與 Web 開發相關的依賴,例如 spring-webmvc、spring-web、tomcat等套件。這樣,開發者無需一個一個手動加入相應的套件,大大簡化了專案的依賴管理。

<dependencies>設定的相依套件,會從Maven庫中下載到本地的.m2目錄下(預設路徑為:C:\Users[使用者名稱].m2\repository)
https://ithelp.ithome.com.tw/upload/images/20240918/20168753mStqPiRZH2.jpg

另外,如果相依套件不存在於公開的Maven庫中而是存放在私有的Maven庫的話,也可以於pom.xml內加入<repositories>元素內,承如<dependencies>元素一樣,<repositories>元素也有自己的子元素<repository>,我們可以透過此元素設定私有倉庫的位置,當 Maven 在公開庫中找不到 <dependencies> 內設定的套件時,便會到指定的私有 Maven 庫中尋找並下載。


上一篇
Day3 –什麼是Maven(上)
下一篇
Day5 – 什麼是Maven(下)
系列文
這些年SpringBoot實戰開發教會我的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言